A network flow, also referred to herein as simply a “flow,” is a sequence of network packets sharing certain characteristics. A common set of characteristics used to define a flow is referred to as a “5-tuple.” A 5-tuple is a sequence of packets sharing the same source and destination address, source and destination port, and protocol (5 values total, hence the “5-tuple” label.) Other combinations of flow characteristics may also be used in defining a network flow.
A “tiered service” (also referred to herein as a “network service” or, simply, a “service”) is a term used to indicate a type of network traffic (e.g., mail traffic, web traffic, Structured Query Language (SQL) traffic, etc.). Typically, these different types of traffic, or services, communicate using standard port numbers. For example, the standard port number for Simple Mail Transfer Protocol (SMTP) traffic is port 25, using Transmission Control Protocol (TCP) or User Datagram Protocol (UDP). As another example, the standard TCP/UDP port number for File Transfer Protocol (FTP) traffic is port 21. In addition to using a port number, services can be identified based on other characteristics other such as source or destination address, protocol or combinations of port numbers, source and destination addresses, and/or protocol.
Network switches and/or other network devices can filter, redirect, block, and/or forward network traffic based on the traffic's type of service. For example, a switch may be configured to redirect a particular type of traffic, such as mail traffic, to an external device for inspection. In the context of network switching, tiered services are often implemented statically using fixed user configurations. As used herein, “implementing a service” refers to adding or deleting a service in a table/list of services that is referenced to determine whether to take an action (e.g., blocking, forwarding, redirecting, etc.) on packets flowing through a switch or network device. Static/manual implementation of services does not take into account changing network conditions. When network conditions change, an administrator may want to add or delete a service in response to the changed conditions. Manual addition/deletion of services can be burdensome to an administrator and contributes to delays in reacting to the changing network conditions.